obsidian-digital-garden が Vercel の 100 deployments per day に引っかかる
見に覚えのない deployment limitation 🤔
原因
- obsidian-digital-garden プラグインは複数ファイルの変更を行うときに 1 ファイル 1 コミット (かつ都度 push) している
- 1 commit にまとめてほしいという要望は結構ありそう: [Feature Request] Combine notes into one commit while publishing multiple notes · Issue #115 · oleeskild/obsidian-digital-garden · GitHub
- そのために複数ファイルを変更して、まとめて publish しようとしたときにファイル数分の push が発生する。
- 動作としてはなんとなく理解していたが、 build は勝手にキャンセルされるだろうと思っていた。
- まあキャンセルはされるのだが、画像のように、キャンセルもおそらく deploy にカウントされる。
- その証拠として、
main
のすべての commit で Vercel check が走っていた
対策
main
を Production branch にしないdeployment
ブランチを作ったrelease
ブランチも考えたが、 Git-flow のリリースブランチはmain
にマージするものなので、それを連想してどっちが base でどっちが head になるか混乱しそうだったのでdeployment
とした。
- デプロイしたいなーと思ったらおもむろに
main
をマージして push すればいい。
- "Ignored Build Step" に "Only build production" を設定する
- これをしておくと
main
への push で Preview build が走らなくなる。
- これをしておくと
- 2023-08-22 この方法でも制限に引っかかった。。。
- Canceled build も 1 deploy build に数えられるっぽい?直近 24 h の cancel build 数えたらだいたい 100 だった。
- Vercel の設定の
git.deploymentEnabled
フラグで解決したかも: Git Configuration | Vercel Docs- まだ制限引っかかってるので、まだ確実とは言えないが、以下の画像のように
main
への push は無視されて (❌ が付いてない)、deployment
の push (merge commit) には ❌ が付いている。明日確かめよう。
- まだ制限引っかかってるので、まだ確実とは言えないが、以下の画像のように
- そして、この方法でうまく行ったなら ↓ の Issue にコメントしてあげよう。
参考: Overcoming Vercel daily 100 deployment limit · Issue #320 · oleeskild/obsidian-digital-garden · GitHub